package com.wanmait.wanmarecruit.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;

import lombok.Data;

/**
* Created by Mybatis Generator 2022/09/19
*/
@Data
@TableName(value = "position")
public class Position implements Serializable {
    /**
     * 职位id
     */
     @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 发布公司id
     */
    @TableField(value = "company_id")
    private Integer companyId;
    @TableField(exist = false)
    private Company company;

    /**
     * 职位名称
     */
    @TableField(value = "position_name")
    private String positionName;

    /**
     * 省份id
     */
    @TableField(value = "province_id")
    private Integer provinceId;
    @TableField(exist = false)
    private Province province;

    /**
     * 城市id
     */
    @TableField(value = "city_id")
    private Integer cityId;
    @TableField(exist = false)
    private City city;

    /**
     * 职位名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 行政区id
     */
    @TableField(value = "district_id")
    private Integer districtId;
    @TableField(exist = false)
    private District district;

    /**
     * 职位简介
     */
    @TableField(value = "introduction")
    private String introduction;

    /**
     * 待遇（可以面议，显示在页面上的）
     */
    @TableField(value = "salary_info")
    private String salaryInfo;

    /**
     * 待遇id（下拉列表，选择的）
     */
    @TableField(value = "salary_id")
    private Integer salaryId;
    @TableField(exist = false)
    private Salary salary;

    /**
     * 招聘类型id
     */
    @TableField(value = "position_type_second_id")
    private Integer positionTypeSecondId;
    @TableField(exist = false)
    private PositionTypeSecond positionTypeSecond;

    /**
     * 专业要求
     */
    @TableField(value = "major_limit")
    private String majorLimit;

    /**
     * 其他要求
     */
    @TableField(value = "requirements")
    private String requirements;

    /**
     * 发布日期
     */
    @TableField(value = "enroll_time")
    private Date enrollTime;

    /**
     * 截止日期
     */
    @TableField(value = "end_time")
    private Date endTime;

    /**
     * 是否上架，1为上架，0为不上架
     */
    @TableField(value = "have_put_on")
    private Boolean havePutOn;

    /**
     * 职位状态
     */
    @TableField(value = "enable")
    private Boolean enable;

    /**
     * 学历id
     */
    @TableField(value = "education_id")
    private Integer educationId;
    @TableField(exist = false)
    private Education education;

    /**
     * 工作经验id
     */
    @TableField(value = "work_experience_type_id")
    private Integer workExperienceTypeId;
    @TableField(exist = false)
    private WorkExperienceType workExperienceType;

    /**
     * 浏览次数
     */
    @TableField(value = "views")
    private Integer views;

    /**
     * 投递简历个数
     */
    @TableField(value = "number_of_resumes_delivered")
    private Integer numberOfResumesDelivered;

    /**
     * 是否全职
     */
    @TableField(value = "full_time_on")
    private Boolean fullTimeOn;

    /**
     * 联系邮箱
     */
    @TableField(value = "contact_email")
    private String contactEmail;

    /**
     * 性别要求
     */
    @TableField(value = "gender")
    private String gender;

    /**
     * 年龄要求
     */
    @TableField(value = "age")
    private String age;

    /**
     * 是否热门
     */
    @TableField(value = "hot")
    private Boolean hot;

    /**
     * 投递简历个数
     */
    @TableField(value = "count")
    private Integer count;

    @TableField(exist = false)
    private Set<IntroductionTab>introductionTabs;

    @TableField(exist = false)
    private Set<Welfare> welfares;

    private static final long serialVersionUID = 1L;

    public static final String COL_COMPANY_ID = "company_id";

    public static final String COL_POSITION_NAME = "position_name";

    public static final String COL_PROVINCE_ID = "province_id";

    public static final String COL_CITY_ID = "city_id";

    public static final String COL_NAME = "name";

    public static final String COL_DISTRICT_ID = "district_id";

    public static final String COL_INTRODUCTION = "introduction";

    public static final String COL_SALARY_INFO = "salary_info";

    public static final String COL_SALARY_ID = "salary_id";

    public static final String COL_POSITION_TYPE_SECOND_ID = "position_type_second_id";

    public static final String COL_MAJOR_LIMIT = "major_limit";

    public static final String COL_REQUIREMENTS = "requirements";

    public static final String COL_ENROLL_TIME = "enroll_time";

    public static final String COL_END_TIME = "end_time";

    public static final String COL_HAVE_PUT_ON = "have_put_on";

    public static final String COL_ENABLE = "enable";

    public static final String COL_EDUCATION_ID = "education_id";

    public static final String COL_WORK_EXPERIENCE_ID = "work_experience_id";

    public static final String COL_VIEWS = "views";

    public static final String COL_NUMBER_OF_RESUMES_DELIVERED = "number_of_resumes_delivered";

    public static final String COL_FULL_TIME_ON = "full_time_on";

    public static final String COL_CONTACT_EMAIL = "contact_email";

    public static final String COL_GENDER = "gender";

    public static final String COL_AGE = "age";
}